package com.cj.bus.common.utils;

import org.apache.commons.lang3.StringUtils;

import java.math.BigDecimal;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 校验类
 */
public class ValidateUtil {

    /**
     * 验证手机号
     * @return
     */
    public static boolean validatePhone(String phone) {
        if(StringUtils.isBlank(phone)){
            return false;
        }
        String regex = "1[3|4|5|6|7|8|9][0-9]\\d{8}";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(phone);
        boolean bool = matcher.matches();
        return bool;
    }

    /**
     * 验证身份证
     * @return
     */
    public static boolean validateCardNumber(String cardNumber) {
        if(StringUtils.isBlank(cardNumber)){
            return false;
        }
        String regex = "(^\\d{18}$)|(^\\d{15}$)|(^\\d{17}[A-Z]$)";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(cardNumber);
        boolean bool = matcher.matches();
        return bool;
    }


    /**
     * 金额验证：10位整数
     */
    public static boolean validateDecimal(BigDecimal money) {
        boolean flag = false;
        if(money == null){
            return false;
        }
        try {
            String moneyStr = money.setScale(2, BigDecimal.ROUND_HALF_UP).toString();
            // 金额正则,可以没有小数，小数最多不超过两位
            String[] arr = moneyStr.split("\\.");
            if(arr[0].length() < 11){
                flag = true;
            }
        } catch (Exception e) {
        }
        return flag;
    }
}
